<?php
//If BASEPATH is not defined, simply exit.
if (!defined('BASEPATH')) {
    exit('No direct script access allowed');
}

/**
 * CodeIgniter
 *
 * An open source application development framework for PHP 4.3.2 or newer
 *
 * @package        CodeIgniter
 * @author        ExpressionEngine Dev Team
 * @copyright    Copyright (c) 2008 - 2009, EllisLab, Inc.
 * @license        http://codeigniter.com/user_guide/license.html
 * @link        http://codeigniter.com
 * @since        Version 1.0
 * @filesource
 */

/*
* ADDED OPTION TO LOOK IN ENGLISH FOLDER IN FILE NOT FOUND
*/

// ------------------------------------------------------------------------

/**
 * Language Class
 *
 * @package        CodeIgniter
 * @subpackage    Libraries
 * @category    Language
 * @author        ExpressionEngine Dev Team
 * @link        http://codeigniter.com/user_guide/libraries/language.html
 */
class MY_Language
{

    var $language = array();
    var $is_loaded = array();

    /**
     * Constructor
     *
     * @access    public
     */
    function CI_Language()
    {
        log_message('debug', "Language Class Initialized");
    }

    // --------------------------------------------------------------------

    /**
     * Load a language file
     *
     * @access    public
     * @param    mixed    the name of the language file to be loaded. Can be an array
     * @param    string    the language (english, etc.)
     * @return    mixed
     */
    function load($langfile = '', $idiom = '', $return = FALSE)
    {
        $langfile = str_replace(EXT, '', str_replace('_lang.', '', $langfile)) . '_lang' . EXT;

        if (in_array($langfile, $this->is_loaded, TRUE)) {
            return;
        }

        if ($idiom == '') {
            $CI =& get_instance();
            $deft_lang = $CI->config->item('language');
            $idiom = ($deft_lang == '') ? 'english' : $deft_lang;
        }

        // Determine where the language file is and load it
        if (file_exists(APPPATH . 'language/' . $idiom . '/' . $langfile)) {
            include(APPPATH . 'language/' . $idiom . '/' . $langfile);
        }
        elseif (file_exists(APPPATH . 'language/english/' . $langfile))
        {
            include(APPPATH . 'language/english/' . $langfile);
        }
        else
        {
            if (file_exists(BASEPATH . 'language/' . $idiom . '/' . $langfile)) {
                include(BASEPATH . 'language/' . $idiom . '/' . $langfile);
            }
            elseif (file_exists(BASEPATH . 'language/english/' . $langfile))
            {
                include(BASEPATH . 'language/english/' . $langfile);
            }
            else
            {
                show_error('Unable to load the requested language file: language/' . $idiom . '/' . $langfile);
            }
        }

        if (!isset($lang)) {
            log_message('error', 'Language file contains no data: language/' . $idiom . '/' . $langfile);
            return;
        }

        if ($return == TRUE) {
            return $lang;
        }

        $this->is_loaded[] = $langfile;
        $this->language = array_merge($this->language, $lang);
        unset($lang);

        log_message('debug', 'Language file loaded: language/' . $idiom . '/' . $langfile);
        return TRUE;
    }

    // --------------------------------------------------------------------

    /**
     * Fetch a single line of text from the language array
     *
     * @access    public
     * @param    string    $line     the language line
     * @return    string
     */
    function line($line = '')
    {
        $line = ($line == '' OR !isset($this->language[$line])) ? FALSE : $this->language[$line];
        return $line;
    }
}

/* End of file MY_Language.php */
/* Location: ./app/frontend/libraries/MY_Language.php */
?>